package com.fqgj.sentry.manage.service;

import com.fqgj.sentry.common.utils.ApiPage;
import com.fqgj.sentry.manage.entity.McApplicationEntity;
import com.fqgj.sentry.manage.entity.McMerchantEntity;

import java.util.List;

/**
 * Created by ykpbean kangping.ying@yuntu-inc.com
 *
 * @description
 * @create 2017-07-13 下午5:36
 */


public interface ApplicationService {

    /**
     * 根据商户Id查询相应的商户
     *
     * @param merchantId
     * @return
     */
    McMerchantEntity selectByMerchantId(Long merchantId);


    /**
     * 根据商户code查询相应的商户
     *
     * @param code
     * @return
     */
    McMerchantEntity selectMerchantByMerchantCode(String code);

    /**
     * 根据商户id  appCode 查询
     *
     * @param merchantId
     * @param appCode
     * @return
     */
    McApplicationEntity selectByMerchantIdAndAppCode(Long merchantId, String appCode);

    /**
     * 根据应用Id查询相应的应用
     *
     * @param appId
     * @return
     */
    McApplicationEntity selectByAppId(Long appId);

    /**
     * 查询商户 对应应用 分页
     * @param merchantId
     * @param apiPage
     * @return
     */
    List<McApplicationEntity> selectListForPage(Long merchantId, ApiPage apiPage);

    /**
     * 查询商户对应的所有应用 不分页
     * @param merchantId
     * @return
     */
    List<McApplicationEntity> selectApplicationList(Long merchantId);


    /**
     * 根据  商户id 删除应用记录
     * @param applicationId
     * @return
     */
    Integer deleteById(Long applicationId);

    /**
     * 新增
     * @param applicationEntity
     * @return
     */
    Integer insert(McApplicationEntity applicationEntity);

    /**
     * 修改
     * @param applicationEntity
     * @return
     */
    Integer update(McApplicationEntity applicationEntity);

}
